# encoding: utf-8
# @Author: zsl
# @Desc : 加密和解密
# 密码术意味着更改消息的文本，以便不知道你秘密的人永远不会理解你的消息。
# 下面就来创建一个GUI应用程序，使用Python进行加密和解密在这里，我们需要编写使用无限循环的代码，代码将不断询问用户是否要加密或解密
# 在这个例子中，encrypt函数接受一个文本和一个偏移量作为参数，对文本中的字母进行加密。
# 如果字符是小写字母，将其转换为对应的加密后的小写字母；
# 如果是大写字母，进行类似的处理。非字母字符保持不变。
# decrypt函数通过反向偏移量来解密文本，实际上就是再次调用加密函数，但使用反向的偏移量。
# @Date  : 2025/07/08 15:47
def encrypt(text, shift):
    encrypted_text = ""
    for char in text:
        if char.isalpha():
            if char.islower():
                encrypted_char = chr((ord(char) - ord('a') + shift) % 26 + ord('a'))
            else:
                encrypted_char = chr((ord(char) - ord('A') + shift) % 26 + ord('A'))
            encrypted_text += encrypted_char
        else:
            encrypted_text += char
    return encrypted_text

def decrypt(text, shift):
    return encrypt(text, 26 - shift)

# 示例用法
original_text = "Hello, World!"
shift_value = 3
encrypted = encrypt(original_text, shift_value)
print(f"加密后的文本：{encrypted}")
decrypted = decrypt(encrypted, shift_value)
print(f"解密后的文本：{decrypted}")
